package org.example.curriculum_design_6_16.service;

import org.example.curriculum_design_6_16.entity.pojo.SocialServiceRule;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
* @author 郑凯
* @description 针对表【social_service_rule】的数据库操作Service
* @createDate 2025-06-19 09:13:24
*/
public interface SocialServiceRuleService extends IService<SocialServiceRule> {

    /**
     * 获取所有活跃的评分规则
     * @return 活跃规则列表
     */
    List<SocialServiceRule> getAllActiveRules();

    /**
     * 按类型获取评分规则
     * @param ruleType 规则类型(position/activity/other)
     * @return 规则列表
     */
    List<SocialServiceRule> getRulesByType(String ruleType);

    /**
     * 获取职位类评分规则映射表
     * @return 职位规则映射表
     */
    Map<String, SocialServiceRule> getPositionRuleMap();

    /**
     * 添加评分规则
     * @param rule 评分规则
     * @return 影响行数
     */
    int addRule(SocialServiceRule rule);

    /**
     * 更新评分规则
     * @param rule 评分规则
     * @return 影响行数
     */
    int updateRule(SocialServiceRule rule);

    /**
     * 启用/禁用评分规则
     * @param id 规则ID
     * @param active 是否启用
     * @return 影响行数
     */
    int toggleRuleStatus(Integer id, Boolean active);

}
